# -*- coding: UTF-8 -*-
from pyspark import SparkContext

if __name__ == "__main__":
    # ********** Begin **********#
    # 1.初始化 SparkContext，该对象是 Spark 程序的入口
    sc = SparkContext('local', 'Simple App')

    # 2.创建一个内容为[(B',1),('A',2),('C',3)]的列表List
    data = [('B',1),('A',2),('C',3)]

    # 3.通过 SparkContext 并行化创建 rdd
    rdd = sc.parallelize(data)

    # 4.使用rdd.collect() 收集 rdd 的元素
    print(rdd.collect())

    """
       使用 sortByKey 算子，将 rdd 的数据 ('B', 1), ('A', 2), ('C', 3) 按照下面的规则进行转换操作，规则如下:
       需求：
           元素排序，例如：
            [(3,3),(2,2),(1,1)]  -->  [(1,1),(2,2),(3,3)]
       """
    # 5.使用 sortByKey 算子完成以上需求
    byKey = rdd.sortByKey()

    # 6.使用rdd.collect() 收集完成 sortByKey 转换的元素
    print(byKey.collect())

    # 7.停止 SparkContext
    sc.stop()

    # ********** End **********#
